package com.yyfax.pay.config.data.service;

import java.util.List;

import com.yyfax.pay.config.model.po.BankConfigPO;
import com.yyfax.pay.config.model.vo.BankConfigVO;

/**
 * 银行信息(service)
 * 
 * @author changxd
 * @date 2017-04-13
 * @since 1.0.0
 */
public interface BankConfigService {

	/**
	 * 新增银行信息
	 * 
	 * @author changxd
	 * @date 2017-04-13
	 * @since 1.0.0
	 * @param config
	 * @return
	 */
	public int save(BankConfigPO config) throws Exception;

	/**
	 * 修改银行信息
	 * 
	 * @author changxd
	 * @date 2017-04-13
	 * @since 1.0.0
	 * @param config
	 * @return
	 */
	public int modify(BankConfigPO config) throws Exception;

	/**
	 * 根据银行编号查询信息
	 * 
	 * @author changxd
	 * @date 2017-04-13
	 * @since 1.0.0
	 * @param bankCode
	 * @return
	 */
	public BankConfigPO queryByBankCode(String bankCode) throws Exception;

	/**
	 * 查询全部银行信息
	 * 
	 * @author changxd
	 * @date 2017-04-13
	 * @since 1.0.0
	 * @return
	 */
	public List<BankConfigPO> queryForList() throws Exception;

	/**
	 * 根据ID查询银行编号信息
	 * 
	 * @author changxd
	 * @date 2017-04-13
	 * @since 1.0.0
	 * @param bankCode
	 * @return
	 */
	public BankConfigPO queryById(int id) throws Exception;

	/**
	 * 根据第三方银行编号获取银行属性
	 * 
	 * @author changxd
	 * @date 2017-04-15 18:47:15
	 * @since v1.0.0
	 * @param paymentCode 支付通道编号
	 * @param thirdBankCode 第三方银行编号
	 * @return
	 */
	public BankConfigPO queryByThirdBankCode(String paymentCode, String thirdBankCode) throws Exception;

	// public BankConfigVO queryVOByPaymentAndBankCodeExt(String paymentCode, String bankCodeExt) throws Exception;

}
